export const initState = {
  list: [],
  car: JSON.parse(localStorage.getItem('car')) || []  /*初始化 获取本地购物车 没有就是空数组*/
}

export const reducer = (state, action) => {
  // 解构 类型 载荷
  const { type, payload } = action
  // 获取购物车
  let { car } = state
  switch (type) {
    // 设置列表数据
    case 'SET_LIST':
      return {
        ...state,
        list: payload
      }
    // 加入购物车
    case 'ADD_CAR':
      // 购物车去重复操作
      // 通过id看一下是否重复数据
      const item = car.find(item => item.id === payload.id)

      if (item) {
        // 重复 => 数量++

        item.count++
      } else {
        // 不重复 => 新增

        car.push({
          ...payload,
          count: 1
        })
      }

      return {
        ...state,
        car,
      }
    default:
      return state
  }
}


